package com.lebang.example;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class LbbAppVersionExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public LbbAppVersionExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNull() {
            addCriterion("modify_time is null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNotNull() {
            addCriterion("modify_time is not null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeEqualTo(Date value) {
            addCriterion("modify_time =", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotEqualTo(Date value) {
            addCriterion("modify_time <>", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThan(Date value) {
            addCriterion("modify_time >", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("modify_time >=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThan(Date value) {
            addCriterion("modify_time <", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("modify_time <=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIn(List<Date> values) {
            addCriterion("modify_time in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotIn(List<Date> values) {
            addCriterion("modify_time not in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeBetween(Date value1, Date value2) {
            addCriterion("modify_time between", value1, value2, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("modify_time not between", value1, value2, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andHasDeletedIsNull() {
            addCriterion("has_deleted is null");
            return (Criteria) this;
        }

        public Criteria andHasDeletedIsNotNull() {
            addCriterion("has_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andHasDeletedEqualTo(String value) {
            addCriterion("has_deleted =", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedNotEqualTo(String value) {
            addCriterion("has_deleted <>", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedGreaterThan(String value) {
            addCriterion("has_deleted >", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedGreaterThanOrEqualTo(String value) {
            addCriterion("has_deleted >=", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedLessThan(String value) {
            addCriterion("has_deleted <", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedLessThanOrEqualTo(String value) {
            addCriterion("has_deleted <=", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedLike(String value) {
            addCriterion("has_deleted like", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedNotLike(String value) {
            addCriterion("has_deleted not like", value, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedIn(List<String> values) {
            addCriterion("has_deleted in", values, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedNotIn(List<String> values) {
            addCriterion("has_deleted not in", values, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedBetween(String value1, String value2) {
            addCriterion("has_deleted between", value1, value2, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andHasDeletedNotBetween(String value1, String value2) {
            addCriterion("has_deleted not between", value1, value2, "hasDeleted");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andSubtitleIsNull() {
            addCriterion("subtitle is null");
            return (Criteria) this;
        }

        public Criteria andSubtitleIsNotNull() {
            addCriterion("subtitle is not null");
            return (Criteria) this;
        }

        public Criteria andSubtitleEqualTo(String value) {
            addCriterion("subtitle =", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleNotEqualTo(String value) {
            addCriterion("subtitle <>", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleGreaterThan(String value) {
            addCriterion("subtitle >", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleGreaterThanOrEqualTo(String value) {
            addCriterion("subtitle >=", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleLessThan(String value) {
            addCriterion("subtitle <", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleLessThanOrEqualTo(String value) {
            addCriterion("subtitle <=", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleLike(String value) {
            addCriterion("subtitle like", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleNotLike(String value) {
            addCriterion("subtitle not like", value, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleIn(List<String> values) {
            addCriterion("subtitle in", values, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleNotIn(List<String> values) {
            addCriterion("subtitle not in", values, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleBetween(String value1, String value2) {
            addCriterion("subtitle between", value1, value2, "subtitle");
            return (Criteria) this;
        }

        public Criteria andSubtitleNotBetween(String value1, String value2) {
            addCriterion("subtitle not between", value1, value2, "subtitle");
            return (Criteria) this;
        }

        public Criteria andAppIdIsNull() {
            addCriterion("app_id is null");
            return (Criteria) this;
        }

        public Criteria andAppIdIsNotNull() {
            addCriterion("app_id is not null");
            return (Criteria) this;
        }

        public Criteria andAppIdEqualTo(String value) {
            addCriterion("app_id =", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotEqualTo(String value) {
            addCriterion("app_id <>", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThan(String value) {
            addCriterion("app_id >", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThanOrEqualTo(String value) {
            addCriterion("app_id >=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThan(String value) {
            addCriterion("app_id <", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThanOrEqualTo(String value) {
            addCriterion("app_id <=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLike(String value) {
            addCriterion("app_id like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotLike(String value) {
            addCriterion("app_id not like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdIn(List<String> values) {
            addCriterion("app_id in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotIn(List<String> values) {
            addCriterion("app_id not in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdBetween(String value1, String value2) {
            addCriterion("app_id between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotBetween(String value1, String value2) {
            addCriterion("app_id not between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andAppStoreIsNull() {
            addCriterion("app_store is null");
            return (Criteria) this;
        }

        public Criteria andAppStoreIsNotNull() {
            addCriterion("app_store is not null");
            return (Criteria) this;
        }

        public Criteria andAppStoreEqualTo(String value) {
            addCriterion("app_store =", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreNotEqualTo(String value) {
            addCriterion("app_store <>", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreGreaterThan(String value) {
            addCriterion("app_store >", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreGreaterThanOrEqualTo(String value) {
            addCriterion("app_store >=", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreLessThan(String value) {
            addCriterion("app_store <", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreLessThanOrEqualTo(String value) {
            addCriterion("app_store <=", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreLike(String value) {
            addCriterion("app_store like", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreNotLike(String value) {
            addCriterion("app_store not like", value, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreIn(List<String> values) {
            addCriterion("app_store in", values, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreNotIn(List<String> values) {
            addCriterion("app_store not in", values, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreBetween(String value1, String value2) {
            addCriterion("app_store between", value1, value2, "appStore");
            return (Criteria) this;
        }

        public Criteria andAppStoreNotBetween(String value1, String value2) {
            addCriterion("app_store not between", value1, value2, "appStore");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(String value) {
            addCriterion("version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(String value) {
            addCriterion("version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(String value) {
            addCriterion("version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(String value) {
            addCriterion("version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(String value) {
            addCriterion("version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(String value) {
            addCriterion("version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLike(String value) {
            addCriterion("version like", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotLike(String value) {
            addCriterion("version not like", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<String> values) {
            addCriterion("version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<String> values) {
            addCriterion("version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(String value1, String value2) {
            addCriterion("version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(String value1, String value2) {
            addCriterion("version not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andInnerCodeIsNull() {
            addCriterion("inner_code is null");
            return (Criteria) this;
        }

        public Criteria andInnerCodeIsNotNull() {
            addCriterion("inner_code is not null");
            return (Criteria) this;
        }

        public Criteria andInnerCodeEqualTo(Integer value) {
            addCriterion("inner_code =", value, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeNotEqualTo(Integer value) {
            addCriterion("inner_code <>", value, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeGreaterThan(Integer value) {
            addCriterion("inner_code >", value, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeGreaterThanOrEqualTo(Integer value) {
            addCriterion("inner_code >=", value, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeLessThan(Integer value) {
            addCriterion("inner_code <", value, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeLessThanOrEqualTo(Integer value) {
            addCriterion("inner_code <=", value, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeIn(List<Integer> values) {
            addCriterion("inner_code in", values, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeNotIn(List<Integer> values) {
            addCriterion("inner_code not in", values, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeBetween(Integer value1, Integer value2) {
            addCriterion("inner_code between", value1, value2, "innerCode");
            return (Criteria) this;
        }

        public Criteria andInnerCodeNotBetween(Integer value1, Integer value2) {
            addCriterion("inner_code not between", value1, value2, "innerCode");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andHrefIsNull() {
            addCriterion("href is null");
            return (Criteria) this;
        }

        public Criteria andHrefIsNotNull() {
            addCriterion("href is not null");
            return (Criteria) this;
        }

        public Criteria andHrefEqualTo(String value) {
            addCriterion("href =", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefNotEqualTo(String value) {
            addCriterion("href <>", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefGreaterThan(String value) {
            addCriterion("href >", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefGreaterThanOrEqualTo(String value) {
            addCriterion("href >=", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefLessThan(String value) {
            addCriterion("href <", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefLessThanOrEqualTo(String value) {
            addCriterion("href <=", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefLike(String value) {
            addCriterion("href like", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefNotLike(String value) {
            addCriterion("href not like", value, "href");
            return (Criteria) this;
        }

        public Criteria andHrefIn(List<String> values) {
            addCriterion("href in", values, "href");
            return (Criteria) this;
        }

        public Criteria andHrefNotIn(List<String> values) {
            addCriterion("href not in", values, "href");
            return (Criteria) this;
        }

        public Criteria andHrefBetween(String value1, String value2) {
            addCriterion("href between", value1, value2, "href");
            return (Criteria) this;
        }

        public Criteria andHrefNotBetween(String value1, String value2) {
            addCriterion("href not between", value1, value2, "href");
            return (Criteria) this;
        }

        public Criteria andTipUserIsNull() {
            addCriterion("tip_user is null");
            return (Criteria) this;
        }

        public Criteria andTipUserIsNotNull() {
            addCriterion("tip_user is not null");
            return (Criteria) this;
        }

        public Criteria andTipUserEqualTo(String value) {
            addCriterion("tip_user =", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserNotEqualTo(String value) {
            addCriterion("tip_user <>", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserGreaterThan(String value) {
            addCriterion("tip_user >", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserGreaterThanOrEqualTo(String value) {
            addCriterion("tip_user >=", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserLessThan(String value) {
            addCriterion("tip_user <", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserLessThanOrEqualTo(String value) {
            addCriterion("tip_user <=", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserLike(String value) {
            addCriterion("tip_user like", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserNotLike(String value) {
            addCriterion("tip_user not like", value, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserIn(List<String> values) {
            addCriterion("tip_user in", values, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserNotIn(List<String> values) {
            addCriterion("tip_user not in", values, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserBetween(String value1, String value2) {
            addCriterion("tip_user between", value1, value2, "tipUser");
            return (Criteria) this;
        }

        public Criteria andTipUserNotBetween(String value1, String value2) {
            addCriterion("tip_user not between", value1, value2, "tipUser");
            return (Criteria) this;
        }

        public Criteria andAppModeIsNull() {
            addCriterion("app_mode is null");
            return (Criteria) this;
        }

        public Criteria andAppModeIsNotNull() {
            addCriterion("app_mode is not null");
            return (Criteria) this;
        }

        public Criteria andAppModeEqualTo(String value) {
            addCriterion("app_mode =", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeNotEqualTo(String value) {
            addCriterion("app_mode <>", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeGreaterThan(String value) {
            addCriterion("app_mode >", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeGreaterThanOrEqualTo(String value) {
            addCriterion("app_mode >=", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeLessThan(String value) {
            addCriterion("app_mode <", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeLessThanOrEqualTo(String value) {
            addCriterion("app_mode <=", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeLike(String value) {
            addCriterion("app_mode like", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeNotLike(String value) {
            addCriterion("app_mode not like", value, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeIn(List<String> values) {
            addCriterion("app_mode in", values, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeNotIn(List<String> values) {
            addCriterion("app_mode not in", values, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeBetween(String value1, String value2) {
            addCriterion("app_mode between", value1, value2, "appMode");
            return (Criteria) this;
        }

        public Criteria andAppModeNotBetween(String value1, String value2) {
            addCriterion("app_mode not between", value1, value2, "appMode");
            return (Criteria) this;
        }

        public Criteria andForceUpdateIsNull() {
            addCriterion("force_update is null");
            return (Criteria) this;
        }

        public Criteria andForceUpdateIsNotNull() {
            addCriterion("force_update is not null");
            return (Criteria) this;
        }

        public Criteria andForceUpdateEqualTo(String value) {
            addCriterion("force_update =", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateNotEqualTo(String value) {
            addCriterion("force_update <>", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateGreaterThan(String value) {
            addCriterion("force_update >", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateGreaterThanOrEqualTo(String value) {
            addCriterion("force_update >=", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateLessThan(String value) {
            addCriterion("force_update <", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateLessThanOrEqualTo(String value) {
            addCriterion("force_update <=", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateLike(String value) {
            addCriterion("force_update like", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateNotLike(String value) {
            addCriterion("force_update not like", value, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateIn(List<String> values) {
            addCriterion("force_update in", values, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateNotIn(List<String> values) {
            addCriterion("force_update not in", values, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateBetween(String value1, String value2) {
            addCriterion("force_update between", value1, value2, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andForceUpdateNotBetween(String value1, String value2) {
            addCriterion("force_update not between", value1, value2, "forceUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateIsNull() {
            addCriterion("same_version_update is null");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateIsNotNull() {
            addCriterion("same_version_update is not null");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateEqualTo(String value) {
            addCriterion("same_version_update =", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateNotEqualTo(String value) {
            addCriterion("same_version_update <>", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateGreaterThan(String value) {
            addCriterion("same_version_update >", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateGreaterThanOrEqualTo(String value) {
            addCriterion("same_version_update >=", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateLessThan(String value) {
            addCriterion("same_version_update <", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateLessThanOrEqualTo(String value) {
            addCriterion("same_version_update <=", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateLike(String value) {
            addCriterion("same_version_update like", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateNotLike(String value) {
            addCriterion("same_version_update not like", value, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateIn(List<String> values) {
            addCriterion("same_version_update in", values, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateNotIn(List<String> values) {
            addCriterion("same_version_update not in", values, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateBetween(String value1, String value2) {
            addCriterion("same_version_update between", value1, value2, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andSameVersionUpdateNotBetween(String value1, String value2) {
            addCriterion("same_version_update not between", value1, value2, "sameVersionUpdate");
            return (Criteria) this;
        }

        public Criteria andOpenControlIsNull() {
            addCriterion("open_control is null");
            return (Criteria) this;
        }

        public Criteria andOpenControlIsNotNull() {
            addCriterion("open_control is not null");
            return (Criteria) this;
        }

        public Criteria andOpenControlEqualTo(Integer value) {
            addCriterion("open_control =", value, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlNotEqualTo(Integer value) {
            addCriterion("open_control <>", value, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlGreaterThan(Integer value) {
            addCriterion("open_control >", value, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlGreaterThanOrEqualTo(Integer value) {
            addCriterion("open_control >=", value, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlLessThan(Integer value) {
            addCriterion("open_control <", value, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlLessThanOrEqualTo(Integer value) {
            addCriterion("open_control <=", value, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlIn(List<Integer> values) {
            addCriterion("open_control in", values, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlNotIn(List<Integer> values) {
            addCriterion("open_control not in", values, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlBetween(Integer value1, Integer value2) {
            addCriterion("open_control between", value1, value2, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenControlNotBetween(Integer value1, Integer value2) {
            addCriterion("open_control not between", value1, value2, "openControl");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgIsNull() {
            addCriterion("open_black_pkg is null");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgIsNotNull() {
            addCriterion("open_black_pkg is not null");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgEqualTo(Integer value) {
            addCriterion("open_black_pkg =", value, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgNotEqualTo(Integer value) {
            addCriterion("open_black_pkg <>", value, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgGreaterThan(Integer value) {
            addCriterion("open_black_pkg >", value, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgGreaterThanOrEqualTo(Integer value) {
            addCriterion("open_black_pkg >=", value, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgLessThan(Integer value) {
            addCriterion("open_black_pkg <", value, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgLessThanOrEqualTo(Integer value) {
            addCriterion("open_black_pkg <=", value, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgIn(List<Integer> values) {
            addCriterion("open_black_pkg in", values, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgNotIn(List<Integer> values) {
            addCriterion("open_black_pkg not in", values, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgBetween(Integer value1, Integer value2) {
            addCriterion("open_black_pkg between", value1, value2, "openBlackPkg");
            return (Criteria) this;
        }

        public Criteria andOpenBlackPkgNotBetween(Integer value1, Integer value2) {
            addCriterion("open_black_pkg not between", value1, value2, "openBlackPkg");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}